package com.common.model;

import java.util.List;

import lombok.Data;

/**
 * 上传Model
 * 
 * @author Stone
 *
 */
@Data
public class UploadModel {
	/**
	 * 图片类型
	 */
	public static final String IMAGES = "gif,jpg,jpeg,png,bmp";
	/**
	 * flash类型
	 */
	public static final String FLASHS = "swf,flv";
	/**
	 * 视频类型
	 */
	public static final String MEDIAS = "swf,flv,mp3,wav,wma,wmv,mid,avi,mpg,asf,rm,rmvb";
	/**
	 * 普通文件类型
	 */
	public static final String FILES = "doc,docx,xls,xlsx,ppt,htm,html,txt,zip,rar,gz,bz2";

	/**
	 * 上传是否成功
	 */
	private boolean success = true;
	/**
	 * 上传文件根目录
	 */
	private String basePath;
	/**
	 * 返回信息
	 */
	private String message;
	/**
	 * 文件大小限制
	 */
	private long maxSize = 1000000;
	/**
	 * 文件扩展名，多种以逗号分开
	 */
	private String exts;
	/**
	 * 被封装对象
	 */
	private Object object;
	/**
	 * 文件路径集合(针对多个文件)
	 */
	private List<String> filePaths;
	
	public static String getImages() {
		return IMAGES;
	}

	public static String getFlashs() {
		return FLASHS;
	}

	public static String getMedias() {
		return MEDIAS;
	}

	public static String getFiles() {
		return FILES;
	}

	/**
	 * 上传并封装对象模板
	 * @param basePath	文件上传根目录
	 * @param object	被封装的对象
	 */
	public UploadModel(String basePath, Object object) {
		super();
		this.basePath = basePath;
		this.object = object;
	}
	
	/**
	 * 上传并封装对象模板
	 * @param basePath	文件上传根目录
	 * @param exts		文件上传扩展名限制（多个类型用逗号分开）
	 * @param object	被封装的对象
	 */
	public UploadModel(String basePath, String exts, Object object) {
		super();
		this.basePath = basePath;
		this.exts = exts;
		this.object = object;
	}

	/**
	 * 上传并封装对象模板
	 * @param basePath	文件上传根目录
	 * @param maxSize	文件大小限制
	 * @param exts		文件上传扩展名限制（多个类型用逗号分开）
	 * @param object	被封装的对象
	 */
	public UploadModel(String basePath, long maxSize, String exts, Object object) {
		super();
		this.basePath = basePath;
		this.maxSize = maxSize;
		this.exts = exts;
		this.object = object;
	}
	
}
